There are computer programs that permit a single user to type text and/or draw via a computer keyboard and/or mouse or other pointing device. An example is a Word Processor (such as Word by Microsoft Corporation, Redmond, Wash., as well as other programs such as WordPerfect, OpenOffice, etc.).
These Word Processor programs often permit the use of tracking of changes made by a user to a document. Thus, a first version of a base document from a first user can be saved as a new and separate document file (a base version of the base document), which file is then shared with a second user (or multiple other users). Then, that second user creates and saves a new and separate document file (a new second version of the base document), wherein that second user can make edits to the base document with tracking turned on so that it creates that new second version of the base document which is a red-lined markup version of the first version of a base. Then, a next user (such as either the first user or a third user) can receive and open that new and separate document file (the second version of the base document) and that next user creates and saves a new and separate document file (a new third version of the base document), wherein that next user can make edits to the second version of the base document with tracking turned on so that it creates that new third version of the base document which is a red-lined markup version of the second version of a base document. And this process can keep repeating over and over, and so on and so on, creating more and more new and separate document files (a new next version of the base document), wherein the next user makes edits to the previous version of the base document with tracking turned on so that it creates that new next version of the base document which is a red-lined markup version of the previous version of the base document. Then, when desired, at some point in this process, a latest one of the red-lined document versions can be “accepted” and saved as a new and separate document file which is a clean version of that latest red-lined version but with no red-ling showing, only the final result of deletions and additions of the totality of red-lining in the accepted version.
During this process, there are multiple new and separate document files created, one new and separate document file taken for each turn by each user for the set of separate edits made by that user during that turn by that user. And, this process inherently causes delays because there is a need to wait for each turn of a user to be completed before a next user can begin his/her turn of making edits and inputs.
Furthermore, there is also the case where the base version of the base document goes to multiple other users. Then, each one of the multiple other users individually and separately creates his/her own new and separate document file (creating multiple ones of a second version of the base document), wherein each one of the multiple other users makes his/her own set of separate edits to the base version of the base document (making the edits with tracking turned on) so that he/she creates a different one of multiple ones of a second version of the base document, each one of which is a red-lined markup version of the first version of the base document. At that point, there are real problems, because now each and every one of the multiple users needs to look at each different one of multiple ones of a second version of the base document for each of the other ones of the multiple users, while also looking at their own separate one of the second version of the base document, in order to understand the inputs made by each of the multiple users. This is a slow, inefficient and frustrating manner to work. And it leads to a loss of momentum and to confusion. This process is again a step at a time, back and forth, seriatim, and not concurrent.
An alternative to this process with Word Processor and tracking, and sending new and separate document file versions of a base document version back and forth, is to work online as a group with a shared file that keeps being updated with changes as they are occurring, but still occurring with only one user in control (making his/her edits/inputs at a time, in a seriatim usage manner. [An example of such a tool with one user in control at a time, and seriatim use, is “GoogleDocs”, available at docs.google.com, or at www.google.com, owned by Google, Inc., of Mountain View, Calif.]
Initially, a first version of a base document from a first user is saved as a new and separate document file (a base version of the base document), which file is then centrally stored on a Google computer server, which file is then shared via that server and an Internet coupling with multiple other users). Any one of the other users can select to take control and make an edit to the shared document. As the edit is made, the shared file on the server is updated to create and save a new and separate document file (anew second version of the base document) that contains those edits to the base document. Then, a next user (such as either the first user or a third user) takes control and he/she can edit that shared server document file (the second version of the base document), and when those edits are made, the shared file on the server is again updated to create and save another new and separate document file (a new third version of the base document) that contains those edits to the base document. And this process can keep repeating over and over, and so on and son on, creating more and more new and separate document files (a new next version of the base document).
During this process, there are multiple new and separate document files created and saved and stored on the server, one new and separate document file for each turn taken by each user. And, this process inherently causes delays because there is a need to wait for each turn of a user to be completed before a next user can begin his/her turn of making edits and inputs. And, it leads to a loss of momentum and to confusion. This process is again a step at a time, back and forth, seriatim, and not concurrent.
There are drawing programs and illustration programs that are single user with a single document on a single computer, which permit multiple layers to be utilized to create an image. However, these are for single user use, and do not work for multiple user collaboration. [An example of such a tool with one user in control at a time, and seriatim use, is “Photoshop”, available from Adobe at www.adobe.com (Adobe Systems Incorporated, of San Jose, Calif.] This is a slow, inefficient and frustrating manner to work. This process is again seriatim, and not concurrent.
There are also programs that permit communications via email permitting sending and receiving of communications (text with or without attached files) to be sent back and forth between users. [An example of such a tool with one user in control at a time, and seriatim use, is “Thunderbird”, available from www.Mozilla.org.] This is a slow, inefficient and frustrating manner to work. And, it leads to a loss of momentum and to confusion. This process is again a step at a time, back and forth, seriatim, and not concurrent.
There are also programs that permit communications via instant messaging to permit multiple users to text message back and forth. These communicate text messages back and forth, but do not permit collaborative work upon a common base document text or image. This is a slow, inefficient and frustrating manner to work. And, it leads to a loss of momentum and to confusion. This process is again a step at a time, back and forth, seriatim, and not concurrent.
There are also programs that permit conferencing communications via voice (using a microphone and speaker) or via video (using a video or still camera) among multiple users. These permit voice communication or camera-based video communication in a very limited manner, but do not permit concurrent collaborative edits and inputs in real-time to be performed upon a common base document (text or image).
There are also problems that permit communications wherein there is conferencing where one specific user at a time is in control (often referred to as that user having the token), wherein that one specific user can show what is on his/her computer screen to be viewed by other viewing users who can only passively watch based upon that one specific user's display. [An example of such a web-conferencing tool with one user in control at a time, and seriatim use, is “WEBEX” at www.webex.com, owned by Cisco Systems, Inc., of San Jose, Calif.] At some point, that one specific user can decide to give up control, and can decide to select a document file stored on that one specific user's computer, or that one specific user can choose to save a first version of a base document from that one specific user's computer, and that first version of a base document is then shared with one or multiple other users.
Then, the control (the token) is taken over by another user. That other user can then show what is on his/her computer screen to be viewed by other viewing users who can only passively watch based upon that specific another user's display. That display can be something independent of what the first user was showing, or can be a display of the first version of a base document from that one specific user's computer.
At some point, that specific another user can decide to give up control, and can decide to select a document file stored on that specific another user's computer, or that one specific user an choose to save another version of the base document (which is an edited version of the first version of a base document (which is an edited version of the first version of a base document from that one specific user's computer), and that another version of a base document can then be shared with one or multiple other users. And, this process can keep repeating over and over, and so on and so on, creating more and more new and separate document files (a new another version of the base document), wherein a next another user makes edits to the previous version of the base document, so that it creates that new next another version of the base document.
This alternative is a low, inefficient and frustrating manner to work. And, it leads to a loss of momentum and to confusion. This process is again a step at a time, back and forth, seriatim, and not concurrent.
This invention provides for an efficient, real-time document collaboration system that provides an unique ability to separate the input of users and provide customized and dynamic presentations of the document with edits to each user.